﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Rarous.TexyNet;
using Rarous.Gryphoon.Text;

namespace Rarous.Gryphoon {
  public class ArticleFactory {

    private TextUtility textUtility;

    /// <summary>
    /// Konstruktor. Vytvoří novou instanci ArticleFactory.
    /// </summary>
    /// <param name="textUtility"></param>
    public ArticleFactory(TextUtility textUtility) {
      this.textUtility = textUtility;
    }

    /// <summary>
    /// Vytvoří nový článek ze vstupních textů.
    /// </summary>
    /// <param name="title">Název článku.</param>
    /// <param name="perex">Perex článku.</param>
    /// <param name="text">Text článku.</param>
    /// <returns>Vrací <see cref="T:Rarous.Gryphoon.Article"/> s nastavenými vlastnostmi.</returns>
    public Article Create(string title, string perex, string text) {
      Article article = new Article {
        Name = title,
        Url = textUtility.CreateUrl(title),
        Perex = perex,
        Text = text
      };
      textUtility.ParseArticle(article);

      return article;
    }
  }
}
